Skip to content

πŸ§‘β€πŸ’» chore(xcode): adopt the Xcode 26.6 recommended build settings - #49

Merged
hub2rock merged 1 commit into
mainfrom
chore/xcode-26-6-settings
Aug 20, 2026
Merged

πŸ§‘β€πŸ’» chore(xcode): adopt the Xcode 26.6 recommended build settings#49
hub2rock merged 1 commit into
mainfrom
chore/xcode-26-6-settings

Conversation

@hub2rock

Copy link
Copy Markdown
Contributor

Xcode applied its recommended settings when the project was opened. Two of them earn their place:

  • CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED flags user-facing strings that never reach the catalog β€” precisely the leak CLAUDE.md's localization rules exist to prevent. The compiler now catches it instead of review.
  • STRING_CATALOG_GENERATE_SYMBOLS generates symbols for catalog keys, so a renamed or deleted key breaks the build rather than silently rendering the key itself at runtime.

Plus LastUpgradeCheck / LastUpgradeVersion bumped to 2660.

Verified: xcodebuild build succeeds.

Left out on purpose: the string catalog

The same pass also rewrote Localizable.xcstrings β€” 5409 lines. Parsing both versions shows the reformatting is almost entirely cosmetic, but five keys changed in substance:

  • Labels and Members lost extractionState: "manual"
  • Unexpected error: %@, Added to "%@", and the OIDC authorizationUrl error gained extractionState: "stale"

stale means Xcode's extraction pass no longer found those strings in the code it built. Either they are genuinely dead and should be removed, or they are reached in a way extraction cannot see and the manual state needs restoring. Committing it blind risks tripping the localization guard in CI, and the answer differs per key β€” so it stays out until someone looks. The change is preserved locally in a stash.

πŸ€– Generated with Claude Code

Xcode applied these on opening the project. Two are worth keeping:

- CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED flags user-facing strings
  that never reach the catalog β€” the exact leak CLAUDE.md's localization
  rules exist to prevent, now caught by the compiler instead of review.
- STRING_CATALOG_GENERATE_SYMBOLS generates symbols for catalog keys, so
  a renamed or deleted key fails the build instead of silently falling
  back to the key itself at runtime.

The string catalog was also rewritten by the same pass; it is left out of
this commit because it needs its own look (see the PR description).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@hub2rock
hub2rock merged commit 70cebf3 into main Aug 20, 2026
7 checks passed
@hub2rock
hub2rock deleted the chore/xcode-26-6-settings branch August 20, 2026 16:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant